Skip to content

feat: v4.1#239

Merged
Sam Gammon (sgammon) merged 9 commits intomainfrom
feat/v4.1
Mar 29, 2026
Merged

feat: v4.1#239
Sam Gammon (sgammon) merged 9 commits intomainfrom
feat/v4.1

Conversation

@sgammon
Copy link
Copy Markdown
Member

Adds an input which controls what kind of installation takes place; performs cleanup and general refactoring

Signed-off-by: Sam Gammon <sam@elide.ventures>
Signed-off-by: Sam Gammon <sam@elide.ventures>
@codecov
Copy link
Copy Markdown

codecov bot commented Mar 28, 2026

Codecov Report

❌ Patch coverage is 90.16173% with 73 lines in your changes missing coverage. Please review.
✅ Project coverage is 86.40%. Comparing base (c0c4c8c) to head (b956315).
✅ All tests successful. No failed tests found.

Files with missing lines Patch % Lines
src/main.ts 88.18% 28 Missing ⚠️
src/install-shell.ts 85.10% 14 Missing ⚠️
src/install-rpm.ts 79.54% 9 Missing ⚠️
src/telemetry.ts 92.50% 9 Missing ⚠️
src/install-msi.ts 89.18% 4 Missing ⚠️
src/install-pkg.ts 86.66% 4 Missing ⚠️
src/options.ts 96.70% 3 Missing ⚠️
src/releases.ts 97.53% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #239      +/-   ##
==========================================
+ Coverage   86.14%   86.40%   +0.26%     
==========================================
  Files           8       13       +5     
  Lines         635     1236     +601     
==========================================
+ Hits          547     1068     +521     
- Misses         88      168      +80     
Files with missing lines Coverage Δ
src/command.ts 100.00% <100.00%> (ø)
src/platform.ts 100.00% <100.00%> (ø)
src/releases.ts 81.66% <97.53%> (+7.03%) ⬆️
src/options.ts 94.64% <96.70%> (+13.87%) ⬆️
src/install-msi.ts 89.18% <89.18%> (ø)
src/install-pkg.ts 86.66% <86.66%> (ø)
src/install-rpm.ts 79.54% <79.54%> (ø)
src/telemetry.ts 92.50% <92.50%> (ø)
src/install-shell.ts 85.10% <85.10%> (ø)
src/main.ts 86.37% <88.18%> (-13.06%) ⬇️

... and 2 files with indirect coverage changes

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new installer input to control how Elide is installed in this GitHub Action, while refactoring option parsing and splitting install flows into dedicated modules.

Changes:

  • Introduces installer (archive/shell/msi/pkg/apt/rpm) and routes installation accordingly.
  • Refactors option parsing into buildOptionsFromInputs and expands option normalization/validation helpers.
  • Adds new installer implementations (shell/msi/pkg/rpm), updates CDN URL construction, and refreshes tests/scripts.

Reviewed changes

Copilot reviewed 25 out of 27 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
src/releases.ts Refactors CDN URL generation (adds buildCdnAssetUrl) and updates download URL building.
src/platform.ts Adds RPM-based distro detection helper.
src/outputs.ts Removes separate outputs model (outputs now defined elsewhere).
src/options.ts Adds installer/no-cache options, input parsing via @actions/core, and installer validation.
src/main.ts Routes install flow based on installer, refactors outputs, replaces prewarm/info with post-install elideInfo.
src/install-shell.ts New shell-script based installer (bash/PowerShell).
src/install-script.ts Removes old script installer implementation (replaced by install-shell).
src/install-msi.ts New Windows MSI installer implementation.
src/install-pkg.ts New macOS PKG installer implementation.
src/install-rpm.ts New RPM installer implementation (dnf/rpm).
src/config.ts Removes GitHub API header constants (moved into releases module).
src/command.ts Removes prewarm and renames info to elideInfo.
package.json Updates test script list and docker test command.
action.yml Adds installer, no_cache, version_tag inputs and version output; fixes boolean defaults to strings.
tests/releases.test.ts Adds coverage for buildCdnAssetUrl; updates URL expectations with ?source=gha.
tests/releases-download.test.ts Updates command mocks; removes alpha7/alpha8 special-case test.
tests/platform.test.ts Adds tests for isRpmBased.
tests/options.test.ts Adds tests for installer normalization/validation and default installer.
tests/main.test.ts Updates mocks/imports and adds installer routing + fallback behavior tests.
tests/install-shell.test.ts New tests for shell installer behavior.
tests/install-msi.test.ts New tests for MSI installer behavior.
tests/install-pkg.test.ts Updates to test PKG installer behavior.
tests/install-rpm.test.ts New tests for RPM installer behavior.
tests/install-apt.test.ts Updates command mocks to elideInfo.
tests/command.test.ts Updates tests for elideInfo and removes prewarm/info cases.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/options.ts Outdated
Comment thread src/options.ts
Comment thread src/options.ts
Comment thread src/install-rpm.ts Outdated
Signed-off-by: Sam Gammon <sam@elide.ventures>
Signed-off-by: Sam Gammon <sam@elide.ventures>
Signed-off-by: Sam Gammon <sam@elide.ventures>
Signed-off-by: Sam Gammon <sam@elide.ventures>
Signed-off-by: Sam Gammon <sam@elide.ventures>
Signed-off-by: Sam Gammon <sam@elide.ventures>
Signed-off-by: Sam Gammon <sam@elide.ventures>
@sgammon Sam Gammon (sgammon) merged commit d2f7423 into main Mar 29, 2026
16 checks passed
@sgammon Sam Gammon (sgammon) deleted the feat/v4.1 branch March 29, 2026 05:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants